Seguimiento Ubicación Home Assistant

Seguimiento Ubicación Home Assistant

Seguimiento Ubicación Home Assistant

Seguimiento de Ubicación en Home Assistant: Guía Completa para la Optimización

El seguimiento de ubicación en Home Assistant, habilitado a través de la aplicación Companion, es el pilar fundamental para que tus automatizaciones, detección de presencia y zonas definidas funcionen con precisión. Permite que tu sistema inteligente sepa dónde te encuentras en todo momento, optimizando así la experiencia del hogar conectado. Una configuración correcta asegura que esta funcionalidad sea precisa sin agotar la batería de tu dispositivo móvil en segundo plano. El desafío reside en encontrar ese equilibrio perfecto entre una localización fiable y la eficiencia energética.

Seguimiento Ubicación Home AssistantSeguimiento Ubicación Home Assistant

Esta guía se enfoca en cómo optimizar el seguimiento de ubicación en Home Assistant sin comprometer la autonomía de tu dispositivo. Dejar todo configurado en “siempre activo” y “alta precisión” puede ser perjudicial para la batería. Por otro lado, permitir que el sistema operativo del teléfono restrinja la aplicación en segundo plano puede llevar a que el seguimiento de ubicación deje de funcionar sin previo aviso. El objetivo principal es evitar ambos escenarios.

¿Cómo Funciona el Seguimiento de Ubicación en Home Assistant?

Tu teléfono no envía un flujo continuo de coordenadas GPS a Home Assistant. En su lugar, las actualizaciones de ubicación se envían en momentos específicos. Esto incluye la entrada o salida de zonas definidas, la apertura de la aplicación Companion, comprobaciones periódicas en segundo plano, solicitudes de actualización por parte de Home Assistant, o cuando el dispositivo detecta un cambio significativo de posición, como la conexión a una nueva torre celular.

📣
¿Te interesan estas ofertas? Las publicamos primero en nuestro canal de Telegram10.247 miembros.

Este enfoque basado en eventos es clave para evitar un consumo excesivo de batería en condiciones normales. El problema surge cuando el modo de alta precisión se mantiene activo de forma permanente, obligando a la radio GPS a permanecer encendida y a enviar datos a intervalos fijos, independientemente de si ha habido un cambio real en la ubicación.

La otra cara del problema se manifiesta en la dirección opuesta. Tanto Android como iOS gestionan de forma agresiva las aplicaciones que se ejecutan en segundo plano. Si Home Assistant no cuenta con los permisos adecuados, o si la gestión de batería del teléfono decide restringirla, el seguimiento de ubicación se detiene silenciosamente. Esto resulta en un rastreador de dispositivo que permanece fijado en la última zona conocida, sin que la aplicación te notifique que ha dejado de actualizarse, hasta que adviertas que una automatización que depende de ello no se ha ejecutado.

Lograr la configuración óptima implica encontrar un punto intermedio: actualizaciones lo suficientemente frecuentes y precisas para ser útiles, sin mantener el GPS activo de forma continua ni entrar en conflicto con las restricciones de segundo plano del sistema operativo. Si te encuentras en las etapas iniciales de configuración de Home Assistant, es recomendable asegurar los aspectos básicos primero. Consulta nuestra guía sobre qué hacer después de la instalación antes de afinar configuraciones tan delicadas como el seguimiento de ubicación.

Configuración del Seguimiento de Ubicación en Home Assistant para Android Logo de Android OSLogo de Android OS

Android ofrece un control más granular sobre el seguimiento de ubicación que iOS, y la mayor parte de este control reside dentro de la propia aplicación Companion, en lugar de en la configuración general de ubicación del teléfono. Sin embargo, es crucial habilitar los permisos de aplicación adecuados y desactivar las restricciones de batería a nivel del sistema operativo. Es importante tener en cuenta que el menú de ubicación de Android puede variar y cambiar de nombre según el fabricante. Samsung etiqueta las opciones de manera diferente a Pixel, y ninguna de ellas está garantizada para permanecer igual después de una actualización del sistema.

Permisos de Ubicación en Segundo Plano y Restricciones de Batería

La gestión de batería de Android puede interferir silenciosamente con el seguimiento de ubicación, incluso si todas las configuraciones de la aplicación son correctas. Dirígete a Ajustes > Aplicaciones > Home Assistant > Batería y selecciona Sin restricciones o Sin optimizar. Si se deja en la configuración predeterminada de optimizado, Android puede cerrar el proceso en segundo plano de la aplicación antes de que se registre un cruce de zona, lo que resulta en un rastreador de dispositivo que se queda atascado en la zona incorrecta hasta que vuelves a abrir la aplicación.

📣
¿Te interesan estas ofertas? Las publicamos primero en nuestro canal de Telegram10.247 miembros.

También debes habilitar la opción Permitir todo el tiempo dentro de los permisos de ubicación de la aplicación, que se encuentran en Ajustes > Aplicaciones > Home Assistant > Permisos > Ubicación. Sin esta opción, Android limita el acceso a la ubicación solo cuando la aplicación está en primer plano, y el seguimiento de zonas deja de funcionar en el momento en que cierras la aplicación.

Ubicación en Segundo Plano y Modo de Alta Precisión

La ubicación en segundo plano gestiona las actualizaciones automáticas a través de la API Fused Location de Google. En condiciones normales, informa cada 1 a 3 minutos, y con una frecuencia de hasta cada 30 segundos durante la navegación activa. Este sensor es también donde reside el control deslizante de Modo de alta precisión, que habilita un seguimiento más preciso impulsado por GPS.

La aplicación lo describe claramente como “puede agotar la batería rápidamente”. Al activarlo, se mantiene la radio GPS activa y se fuerza un informe según el intervalo de actualización del modo de alta precisión que hayas configurado, pudiendo llegar a 5 segundos como mínimo. Puedes restringir cuándo se activa realmente utilizando una restricción de zona, una restricción de Bluetooth, o ambas combinadas.

La restricción de zona te permite establecer un rango de activación en metros alrededor de una zona específica. La restricción de Bluetooth te permite seleccionar dispositivos emparejados concretos, de modo que el modo de alta precisión solo se activa una vez que tu teléfono se conecta a ellos. Al combinar ambas, puedes requerir ambas condiciones simultáneamente, por ejemplo, activando el modo de alta precisión solo cuando te encuentres en una zona determinada y conectado a un dispositivo Bluetooth específico.

La ubicación en segundo plano también tiene un ajuste de Precisión mínima, que por defecto es de 200 metros. Este ajuste rechaza cualquier actualización con un margen de error peor que ese. La opción Ubicación enviada controla cuántos detalles se envían a tu servidor de Home Assistant. Si se establece en Exacta, envía tus coordenadas GPS en cada actualización. Si se establece en Zona, solo envía el nombre de la zona en la que te encuentras, o not_home, sin exponer nunca una coordenada.

Zona de Ubicación y Ubicación Única y Precisa

El sensor de Zona de Ubicación es el que realmente impulsa el seguimiento basado en zonas. Su descripción en la aplicación indica que utiliza las zonas existentes de Home Assistant como geocercas, y esto es lo que permite a Android activar la aplicación en el cruce de un límite de zona en lugar de comprobar la ubicación con un temporizador. Asegúrate de que este sensor esté habilitado.

Al igual que la ubicación en segundo plano, este sensor tiene su propia configuración de Precisión mínima, que también se establece por defecto en 200 metros. Esta es la que más importa para evitar salidas y entradas de zona falsas, ya que un cruce de zona informado con una corrección de baja precisión es exactamente lo que causa que un rastreador de dispositivo cambie cuando en realidad no te has movido. Si notas que tus zonas se activan cuando aún estás en casa, aumentar este valor es lo primero que debes comprobar antes de tocar cualquier otra cosa.

El ajuste Ubicación única y precisa permite una actualización de ubicación forzada y precisa del dispositivo, y solo se utiliza si un informe en segundo plano no cumple los criterios de precisión de sus configuraciones, o cuando se solicita explícitamente a través de un comando de notificación o una intención. Sus ajustes son Precisión mínima, Tiempo mínimo entre actualizaciones, que por defecto es de 60000 milisegundos, o 60 segundos, y Incluir en actualización de sensor, que agrupa una solicitud de ubicación con cada otra actualización de sensor cuando está habilitado. Su atributo lastAccurateLocationRequest rastrea la marca de tiempo de la última solicitud forzada.

La Ubicación geocodificada toma las coordenadas GPS que ya tienes y las geocodifica inversamente en una dirección legible por humanos. Sus atributos son como country, locality, thoroughfare, postal_code, etc. No solicita una nueva corrección de ubicación ni hace nada para mejorar la precisión, simplemente convierte la coordenada disponible en “123 Calle Principal” en lugar de una latitud y longitud. Se actualiza por sí sola aproximadamente cada 15 minutos, o se vincula a tus otros sensores de ubicación si habilitas esa opción.

Configuración del Seguimiento de Ubicación en Home Assistant para iOS Logo de iOSLogo de iOS

iOS ofrece mucho menos control manual que Android. Apple mantiene el acceso a la ubicación estrictamente controlado a nivel del sistema operativo, y la mayor parte de lo que determina el consumo de batería aquí se reduce a dos interruptores de permiso en lugar de un menú de configuración dentro de la propia aplicación Companion.

Actualización de Aplicaciones en Segundo Plano y Actualizaciones Manuales de Ubicación

Primero, ve a Ajustes > General > Actualización en segundo plano y asegúrate de que esté activada para Home Assistant, tanto en el interruptor global como en el interruptor por aplicación. Si la Actualización de Aplicaciones en Segundo Plano está desactivada, la aplicación no puede procesar las actualizaciones de ubicación ni ejecutar comprobaciones de sensores en segundo plano, independientemente de lo que digan tus ajustes de Servicios de Ubicación.

Más allá de los desencadenantes automáticos, también puedes forzar una actualización de ubicación abriendo la aplicación, deslizando hacia abajo para actualizar desde la parte superior de cualquier página, o manteniendo pulsado el icono de la aplicación y seleccionando la opción del menú de acceso directo para actualizar. Estos desencadenantes manuales son útiles para probar que tus zonas y permisos están funcionando correctamente antes de depender de los desencadenantes automáticos en segundo plano.

Permiso de Ubicación y Ubicación Precisa

A continuación, ve a Ajustes > Privacidad y Seguridad > Servicios de Ubicación > Home Assistant. Establece el permiso en Siempre. Cualquier opción inferior a “Siempre” significa que la aplicación no puede notificar los cruces de zona mientras está en segundo plano, lo que rompe completamente la detección de presencia.

En la misma pantalla, asegúrate de que Ubicación Precisa esté activada. Este es el equivalente en iOS al modo de precisión de ubicación de Android. Con la Ubicación Precisa desactivada, iOS solo comparte un área aproximada en lugar de una coordenada exacta, lo cual no es lo suficientemente preciso para las automatizaciones basadas en zonas. Ninguno de los sensores vinculados a la ubicación en la aplicación Companion informará correctamente si este interruptor está desactivado.

Seguimiento Basado en Zonas y Cambio Significativo de Ubicación

iOS no ofrece una opción de seguimiento basado en zonas como lo hace Android, ya que el sistema operativo lo maneja de manera diferente. La API de cambio significativo de ubicación de Apple decide por sí misma cuándo tu ubicación ha cambiado lo suficiente como para ser digna de informar, generalmente vinculada a cambios en las torres celulares cercanas en lugar de una distancia fija. Esto es lo que evita que el GPS se ejecute constantemente y es la razón principal por la que iOS tiende a usar menos batería para el seguimiento de ubicación que Android una vez que los permisos se configuran correctamente.

La contrapartida es que no tienes control directo sobre la sensibilidad de este desencadenante. Si notas que los cruces de zona llegan tarde, la solución no está en un ajuste dentro de la aplicación, sino en confirmar que “Siempre” y “Ubicación Precisa” estén configurados correctamente, ya que un permiso mal configurado es la causa más común de actualizaciones tardías en iOS.

Optimización del Seguimiento de Ubicación en Home Assistant

Existen dos formas realmente distintas de obtener una ubicación precisa sin mantener el GPS encendido todo el día. Una ocurre completamente en el dispositivo y reacciona automáticamente. La otra se activa bajo demanda desde el propio Home Assistant. La mayoría de las configuraciones se benefician del uso de ambas, dependiendo de la situación.

Actualizaciones Automáticas de Ubicación en el Dispositivo

Esto solo se aplica a Android, y es la mejor respuesta para cualquier cosa ligada a una ubicación o dispositivo predecible: llegar a casa, salir de casa, conectarse al coche. En el modo de Alta precisión dentro de la ubicación en segundo plano, puedes configurar Modo de alta precisión solo al entrar en zona, lo que restringe el sondeo GPS a una zona específica. Combínalo con Rango de activación del modo de alta precisión para la zona, configurado en metros, y la aplicación crea una versión ampliada de esa zona puramente para este propósito. Cruzar hacia la zona ampliada activa el modo de alta precisión, y cruzar hacia la zona real lo desactiva, de modo que obtienes una corrección precisa durante el acercamiento y nada adicional una vez que has llegado. La salida funciona de la misma manera en reversa.

También hay una opción de Bluetooth, Modo de alta precisión solo al conectarse a dispositivos BT, que vincula el mismo comportamiento a un estéreo de coche o cualquier otro dispositivo emparejado en lugar de una zona. Configura ambas, y la aplicación activa el modo de alta precisión cuando cualquiera de las dos condiciones es cierta por defecto. Un interruptor de combinación separado te permite requerir ambas a la vez, útil si solo quieres un seguimiento estricto mientras conduces realmente, no solo mientras caminas por la misma zona a pie.

Ambos tipos de restricciones requieren que el sensor de Zona de Ubicación esté habilitado, ya que las zonas provienen de ahí. Este enfoque se ejecuta completamente en el dispositivo, sin viaje de ida y vuelta a tu servidor de Home Assistant y sin dependencia de que una automatización se dispare correctamente, lo que lo convierte en la opción más fiable siempre que se ajuste a tu caso de uso.

Sondeo de Ubicación Bajo Demanda desde Home Assistant

Para todo aquello que las restricciones anteriores no puedan anticipar, como una automatización basada en la hora del día, o simplemente querer saber dónde está alguien ahora mismo, Home Assistant puede solicitar una actualización de ubicación directamente a través de comandos de notificación. Esta es la opción que uso personalmente a través de automatizaciones o scripts.

request_location_update funciona tanto en Android como en iOS. Enviarlo intenta una corrección de ubicación en aproximadamente 5 segundos. En iOS, esto es impredecible, ya que Apple limita el tiempo que la aplicación puede ejecutarse en respuesta a la notificación, y una corrección a veces tarda más de lo permitido. En Android, funciona bien una vez que se otorgan todos los permisos adecuados y se eliminan las restricciones de batería. Si tiene éxito, sensor.last_update_trigger cambia a Push Notification, que es una forma fiable de confirmar que la solicitud realmente funcionó.

action:
  - action: notify.mobile_app_
    data:
      message: "request_location_update"

Ahora, Android tiene dos comandos adicionales sin equivalente en iOS que utilizo constantemente. Primero, command_high_accuracy_mode activa o desactiva el modo de alta precisión directamente, utilizando turn_on o turn_off. También hay opciones force_on y force_off, y la diferencia solo importa si tienes configuradas restricciones de zona o Bluetooth, como se mencionó anteriormente. En ese caso, force_on mantiene el modo de alta precisión activo hasta que envías force_off o las restricciones mismas pasan de activas a inactivas, y force_off funciona de la misma manera en reversa. Sin restricciones configuradas, turn y force se comportan de manera idéntica.

action:
  - action: notify.mobile_app_
    data:
      message: "command_high_accuracy_mode"
      data:
        command: "turn_on"

También puedes ajustar el intervalo de actualización mientras el modo de alta precisión está activo, utilizando high_accuracy_set_update_interval. El valor está en segundos y no puede ser inferior a 5. Después de enviar esto, el modo de alta precisión se reinicia, lo que tarda unos segundos en surtir efecto.

action:
  - action: notify.mobile_app_
    data:
      message: "command_high_accuracy_mode"
      data:
        high_accuracy_update_interval: 60
        command: "high_accuracy_set_update_interval"

El otro comando exclusivo de Android es command_update_sensors, que actualiza cada sensor habilitado si su estado ha cambiado desde la última actualización. Esto no fuerza una nueva corrección GPS como lo hace request_location_update, por lo que es la opción más ligera cuando solo necesitas que el teléfono se registre en lugar de obtener una coordenada completamente nueva.

action:
  - action: notify.mobile_app_
    data:
      message: "command_update_sensors"

La documentación oficial de la aplicación companion te advierte que no llames a estos comandos con un temporizador. Para mí, esta es una advertencia genérica de que solicitar actualizaciones de ubicación con demasiada frecuencia puede tener un impacto negativo en la duración de la batería y la salud del dispositivo. Trata cada comando como algo que desencadenas por una razón específica, no algo que programas, y no deberías tener ningún problema.

Resumen

El seguimiento de ubicación en Home Assistant funciona mejor cuando dejas de pensarlo como una única configuración y empiezas a tratarlo como dos problemas separados. En Android, las restricciones de zona y Bluetooth en el modo de alta precisión manejan los casos predecibles automáticamente, sin coste de batería más allá del tiempo en que están realmente activas. En iOS, la configuración de los permisos correctos constituye la mayor parte del trabajo, ya que Apple te deja poco más que ajustar.

Para todo lo demás, los comandos de notificación permiten a Home Assistant obtener una ubicación bajo demanda. La precisión mínima, en Android, es lo que evita que una mala corrección GPS se confunda con un movimiento real, y vale la pena tener habilitado sensor.last_update_trigger desde el primer día, ya que convierte la mayoría de los problemas de solución de problemas en un vistazo rápido en lugar de un juego de adivinanzas.